package hanota;

import java.util.List;

public class Solution {
    public void hanota(List<Integer> A, List<Integer> B, List<Integer> C) {
        // 汉诺塔问题
        move(A.size(),A,B,C);
    }
    private void move(int n,List<Integer>A,List<Integer>B,List<Integer>C) {
        if(n == 0) {
            return; // 已经移完了
        }
        // 先把n-1个圆盘从A移动到B上
        move(n-1,A,C,B);
        // 再把第n个圆盘移动到C上
        C.add(A.remove(A.size()-1));
        // 再把n-1个圆盘从B移动到C上
        move(n-1,B,A,C);
    }
}
